Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

315
Visualizações
Intento de leer la propiedad "título" en la matriz (Excepción de error) Laravel Php

cuando trato de ejecutar lo siguiente, aparece la excepción de error donde no puede leer el título en la matriz. ¿Puedes decirme cómo arreglar esto?

** Mi código postal de la aplicación/modelos y como se muestra a continuación **

 <?php namespace App\Models; use Illuminate\Database\Eloquent\ModelNotFoundException; // use Illuminate\Support\Facades\File; class Post { public $title; public $excerpt; public $date; public $body; public function __construct($title, $excerpt, $date, $body) { $this-> title = $title; //this is where the error is occurring $this-> excerpt = $excerpt; $this-> date = $date; $this-> body = $body; } public static function all() { $files = File::files(resource_path("postss/")); return array_map(function ($file){ return $file-> getContents(); }, $files); } public static function find($slug) { base_path(); if (!file_exists($path = resource_path("postss/{$slug}.html"))) { throw new ModelNotFoundException(); } return cache()-> remember("posts.{$slug}", 7 , function () use ($path){ return file_get_contents($path); }); } }

y mi código de clase de rutas es

 Route::get('/', function () { $files = File::files(resource_path("postss")); $posts =[]; foreach ($files as $file) { $document[] = YamlFrontMatter::parseFile($file); $posts[]= new Post( $document->title, $document->excerpt, $document->date, $document->body() ); } });

El código es correcto hasta donde yo sé, simplemente no sé si hay algo que deba agregar o hacer algo para que desaparezca el error.

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Creo que el error está realmente aquí.

 foreach ($files as $file) { // you load an array here !!! $document[] = YamlFrontMatter::parseFile($file); $posts[]= new Post( $document->title, // then you use $document as a scalar? $document->excerpt, $document->date, $document->body() ); }

Creo que probablemente necesites hacer

 foreach ($files as $file) { // you load an array here !!! $document = YamlFrontMatter::parseFile($file); $posts[]= new Post( $document->title, $document->excerpt, $document->date, $document->body() ); }
over 4 years ago · Santiago Trujillo Relatório

0

el error está dentro de este bucle foreach

 foreach ($files as $file) { $document[] = YamlFrontMatter::parseFile($file); $posts[]= new Post( $document->title, $document->excerpt, $document->date, $document->body() ); }

específicamente aquí

 $document[] = YamlFrontMatter::parseFile($file);

agrega un nuevo objeto en una matriz $ documento y aquí

 $document->title,

intenta acceder al título directamente desde $document, debe especificar el índice de la matriz para acceder al objeto con el atributo, algo como esto

 $document[0]->title,

o podría reescribir la primera parte en

 $document = YamlFrontMatter::parseFile($file);
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda